FOUNDRY-SN-OSPF-GROUP-MIB DEFINITIONS ::= BEGIN


-- Foundry snOspf Group MIB Release 1.0.0
-- Revision 1 10/08/99

-- Copyright 1996-99 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry Networks SNMP Management Information Base Specification
-- (Specification) embodies Foundry Networks' confidential and
-- proprietary intellectual property. Foundry Networks retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and Foundry Networks makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.

-- SECTION 1: Top Level Definitions



     IMPORTS
             Counter, Gauge, IpAddress
                     FROM RFC1155-SMI
     --      mib-2
     --              FROM RFC1213-MIB
             OBJECT-TYPE
                     FROM RFC-1212
                         snOspf 
                                         FROM FOUNDRY-SN-ROOT-MIB;
                         

     --  The Area ID, in OSPF, has the same format as an IP Address,
     --  but has the function of defining a summarization point for
     --  Link State Advertisements

             AreaID ::= IpAddress

     --  The Router ID, in OSPF, has the same format as an IP Address,
     --  but identifies the router independent of its IP Address.

             RouterID ::= IpAddress

     --  The OSPF Metric is defined as an unsigned value in the range

            Metric    ::= INTEGER (0..65535)
                                         -- 0..'FFFF'h
            BigMetric ::= INTEGER (0..16777215)
                                          -- 0..'FFFFFF'h

     --  Boolean Values

             TruthVal ::= INTEGER { false (0), true (1)  }

     --  RtrStatus Values

             RtrStatus ::= INTEGER { disabled (0), enabled (1) }


     --  Time Durations measured in seconds

             PositiveInteger ::= INTEGER (0..2147483647)
                                                    -- 0..'7FFFFFFF'h
             HelloRange      ::= INTEGER (1..65535)
                                                    -- 1..'FFFF'h
             UpToMaxAge      ::= INTEGER (0..3600)

     --  The range of ifIndex, i.e. (1..ifNumber)

     --  Potential Priorities for the Designated Router Election

             DesignatedRouterPriority ::= INTEGER (0..255)

     --  Type of Service is defined as a mapping to the IP Type of
     --  Service Flags as defined in the Router Requirements
     --  Document:
     --
     --  Type of Service is defined as a mapping to the IP Type of
     --  Service Flags as defined in the IP Forwarding Table MIB

     --   +-----+-----+-----+-----+-----+-----+-----+-----+
     --   |                 |                       |     |
     --   |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
     --   |                 |                       |     |
     --   +-----+-----+-----+-----+-----+-----+-----+-----+

     --            IP TOS                IP TOS
     --       Field     Policy      Field     Policy

     --       Contents    Code      Contents    Code
     --       0 0 0 0  ==>   0      0 0 0 1  ==>   2
     --       0 0 1 0  ==>   4      0 0 1 1  ==>   6
     --       0 1 0 0  ==>   8      0 1 0 1  ==>  10
     --       0 1 1 0  ==>  12      0 1 1 1  ==>  14
     --       1 0 0 0  ==>  16      1 0 0 1  ==>  18
     --       1 0 1 0  ==>  20      1 0 1 1  ==>  22
     --       1 1 0 0  ==>  24      1 1 0 1  ==>  26
     --       1 1 1 0  ==>  28      1 1 1 1  ==>  30

     --    The remaining values are left for future definition.

             TOSType ::= INTEGER (0..30)


-- Groups

snOspfGen               OBJECT IDENTIFIER ::= { snOspf 1 }
snOspfArea                  OBJECT IDENTIFIER ::= { snOspf 2 }
snOspfAddrRange         OBJECT IDENTIFIER ::= { snOspf 3 }
snOspfIntf                  OBJECT IDENTIFIER ::= { snOspf 4 }
snOspfVirtIf            OBJECT IDENTIFIER ::= { snOspf 5 }
snOspfRedis                 OBJECT IDENTIFIER ::= { snOspf 6 }
snOspfNbr                   OBJECT IDENTIFIER ::= { snOspf 7 }
snOspfVirtNbr           OBJECT IDENTIFIER ::= { snOspf 8 }
snOspfLsdb                  OBJECT IDENTIFIER ::= { snOspf 9 }
snOspfExtLsdb           OBJECT IDENTIFIER ::= { snOspf 10 }
snOspfAreaStatus        OBJECT IDENTIFIER ::= { snOspf 11 }
snOspfIfStatus          OBJECT IDENTIFIER ::= { snOspf 12 }
snOspfVirtIfStatus      OBJECT IDENTIFIER ::= { snOspf 13 }
snOspfRoutingInfo       OBJECT IDENTIFIER ::= { snOspf 14 }
snOspfTrapControl       OBJECT IDENTIFIER ::= { snOspf 15 }
 
        

--  Section 1:  OSPF General Variables

--      These parameters apply globally to the Router's
--      OSPF Process.


     snOspfRouterId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the router in
            the Autonomous System.

            By convention, to ensure uniqueness, this should
            default to the value of one of the router's IP
            interface addresses."
         REFERENCE
            "OSPF Version 2, C.1 Global parameters"
         ::= { snOspfGen 1 }

     snOspfAdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The administrative status of OSPF in the router.  The
            value 'enabled' denotes that the OSPF Process is active
            on at least one interface; 'disabled' disables it on
            all interfaces."
         ::= { snOspfGen 2 }

     snOspfASBdrRtrStatus OBJECT-TYPE
         SYNTAX   TruthVal
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "A flag to note whether this router is an Autonomous
            System border router."
         REFERENCE
            "OSPF Version 2, Section 3.3 Classification of routers"
         ::= { snOspfGen 3 }


     snOspfRedisMode OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Redistribution status of OSPF in the router.  The
            value 'enabled' denotes that the OSPF Redistribution is 
            active; 'disabled' disables it on the router."
         ::= { snOspfGen 4 }


     snOspfDefaultOspfMetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using a default OSPF Metric value on this route."
         ::= { snOspfGen 5 }

     snOspfExternLSACount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of external (LS type 5) link-state
            advertisements in the link-state database."
         REFERENCE
            "OSPF Version 2, Appendix A.4.5 AS external link
            advertisements"
         ::= { snOspfGen 6 }

     snOspfExternLSACksumSum OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32-bit unsigned sum of the LS checksums of the
            external link-state advertisements contained in the
            link-state database.  This sum can be used to determine
            if there has been a change in a router's link state
            database, and to compare the link-state database of two
            routers."
         ::= { snOspfGen 7 }

     snOspfOriginateNewLSAs OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of new link-state advertisements that have
            been originated.  This number is incremented each time
            the router originates a new LSA."
         ::= { snOspfGen 8 }

     snOspfRxNewLSAs OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of link-state advertisements received
            determined to be new instantiations.  This number does
            not include newer instantiations of self-originated
            link-state advertisements."
         ::= { snOspfGen 9 }

     snOspfOspfRedisMetricType OBJECT-TYPE
             SYNTAX   INTEGER {
                                        type1(1),
                                        type2(2)
                                  }
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "type1: For External Type 1 (comparable value) the 
                    intra-area and inter-area routes, 
                    it is an OSPF metric plus the External Metric.
             type2: For external Type 2 (non-comparable value) routes, 
                    it is the external metric."
         ::= { snOspfGen 10 }

         snOspfExtLsdbLimit OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
           "The  maximum   number   of   non-default   AS-
           external-LSAs entries that can be stored in the
           link-state database.  If the value is -1,  then
           there is no limit.

           When the number of non-default AS-external-LSAs
           in   a  router's  link-state  database  reaches
           ospfExtLsdbLimit, the router  enters  Overflow-
           State.   The   router  never  holds  more  than
           ospfExtLsdbLimit  non-default  AS-external-LSAs
           in  its  database. OspfExtLsdbLimit MUST be set
           identically in all routers attached to the OSPF
           backbone  and/or  any regular OSPF area. (i.e.,
           OSPF stub areas and NSSAs are excluded)."
       ::= { snOspfGen 11 }


    snOspfExitOverflowInterval OBJECT-TYPE
         SYNTAX   INTEGER (0..86400)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
           "The number of  seconds  that,  after  entering
           OverflowState,  a  router will attempt to leave
           OverflowState. This allows the router to  again
           originate  non-default  AS-external-LSAs.  When
           set to 0, the router will not  leave  Overflow-
           State until restarted."
       ::= { snOspfGen 12 }

    snOspfRfc1583Compatibility OBJECT-TYPE
                SYNTAX  INTEGER {
                        disabled(0),             
                        enabled(1)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "This allows the ospf routing either compatible with
                        RFC1583 or RFC2178.
                        enabled(1)........activate RFC1583 compatibility rather than RFC2178
                        disabled(0).......disable RFC1583 compatibility and compatible to RFC2178."  
       ::= { snOspfGen 13 }

     snOspfRouterIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         RouterId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
             ::= { snOspfGen 14 }

     snOspfDistance OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   obsolete
         DESCRIPTION
            "OSPF Adminitrative distance. 0 if distance is not set."
         ::= { snOspfGen 15 }

     snOspfDistanceIntra OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "OSPF Adminitrative distance - Intra Area."
         ::= { snOspfGen 16 }

     snOspfDistanceInter OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "OSPF Adminitrative distance - Inter Area."
         ::= { snOspfGen 17 }

     snOspfDistanceExternal OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "OSPF Adminitrative distance - External."
         ::= { snOspfGen 18 }

--              Section 2:      OSPF Area Table

--      The OSPF Area Data Structure contains information
--      regarding the various areas. The interfaces and
--      virtual links are configured as part of these areas.
--      Area 0.0.0.0, by definition, is the Backbone Area

     snOspfAreaTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfAreaEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of the router's attached areas."
         REFERENCE
            "OSPF Version 2, Section 6  The Area Data Structure"
         ::= { snOspfArea 1 }

     snOspfAreaEntry OBJECT-TYPE
         SYNTAX   SnOspfAreaEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of one of the router's attached
            areas."
         INDEX { snOspfAreaId }
         ::= { snOspfAreaTable 1 }

     SnOspfAreaEntry ::=
         SEQUENCE {
             snOspfAreaId
                 AreaID,
             snOspfImportASExtern
                                 INTEGER,
             snOspfStubMetric
                 BigMetric,
                         snOspfAreaRowStatus 
                                 INTEGER,
                         snOspfAreaIdFormat 
                                 INTEGER
         }

     snOspfAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying an area.  Area
            ID 0.0.0.0 is used for the OSPF backbone."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaEntry 1 }

     snOspfImportASExtern OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The area's support for importing AS external link-
            state advertisements. 
            0:  Stub Area Type
            1:  Normal Area Type
            2:  NSSA Area Type"
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         DEFVAL { 1}
         ::= { snOspfAreaEntry 2 }


     snOspfStubMetric OBJECT-TYPE
         SYNTAX   BigMetric
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The metric value applied at the default type of
            service(ospfMetric).  By default, this equals the 
            least metric at the type of service among the 
            interfaces to other areas.  This Object exist if
            only if the value of snOspfAreaSummary is 
            snOspfAreaSummary(2); Otherwise, an SNMP_GET/GET_NEXT 
            attempt of this Object will return NO_SUCH_NAME."
         ::= { snOspfAreaEntry 3 }


     snOspfAreaRowStatus OBJECT-TYPE
             SYNTAX   INTEGER {
                                        invalid(1),
                                        valid(2),
                                        delete(3),
                                        create(4),
                                        modify(5)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to create and
                     delete row in the table and control
                         if they are used. The values
                     that can be written are:
                     delete(3)...deletes the row
                     create(4)...creates a new row
                     modify(5)...modifies an exsisting row

                     If the row exists, then a SET with
                     value of create(4) returns error
                     'badValue'. Deleted rows go away
                     immediately. The following values
                     can be returned on reads:
                     noSuch(0)...no such row
                     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative..
                     valid(2)....the row exists and is valid"
             ::= { snOspfAreaEntry 4 }

     snOspfAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
             ::= { snOspfAreaEntry 5 }


--  Section 3:          Area Range Table (Address Range Table)

--      The Address Range Table acts as an adjunct to the Area
--      Table; It describes those Address Range Summaries that
--      are configured to be propagated from an Area to reduce
--      the amount of information about it which is known beyond
--      its borders.



     snOspfAreaRangeTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfAreaRangeEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A range if IP addresses specified by an IP address/IP
            network mask pair.  For example, class B address range
            of X.X.X.X with a network mask of 255.255.0.0 includes
            all IP addresses from X.X.0.0 to X.X.255.255"
         REFERENCE
            "OSPF Version 2, Appendix C.2  Area parameters"
         ::= { snOspfAddrRange 1 }

     snOspfAreaRangeEntry OBJECT-TYPE
         SYNTAX   SnOspfAreaRangeEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A range if IP addresses specified by an IP address/IP
            network mask pair.  For example, class B address range
            of X.X.X.X with a network mask of 255.255.0.0 includes
            all IP addresses from X.X.0.0 to X.X.255.255"
         REFERENCE
            "OSPF Version 2, Appendix C.2  Area parameters"
         INDEX { snOspfAreaRangeAreaID, snOspfAreaRangeNet }
         ::= { snOspfAreaRangeTable 1 }

     SnOspfAreaRangeEntry ::=
         SEQUENCE {
             snOspfAreaRangeAreaID
                 AreaID,
             snOspfAreaRangeNet
                 IpAddress,
             snOspfAreaRangeMask
                 IpAddress,
             snOspfAreaRangeRowStatus
                 INTEGER,
                         snOspfAreaRangeAreaIdFormat 
                                 INTEGER
         }

     snOspfAreaRangeAreaID OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Area the Address Range is to be found within."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaRangeEntry 1 }

     snOspfAreaRangeNet OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Net or Subnet indicated by the
            range."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaRangeEntry 2 }

     snOspfAreaRangeMask OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Subnet Mask that pertains to the Net or Subnet."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaRangeEntry 3 }


     snOspfAreaRangeRowStatus OBJECT-TYPE
             SYNTAX   INTEGER {
                                        invalid(1),
                                        valid(2),
                                        delete(3),
                                        create(4),
                                        modify(5)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to create and
                     delete row in the table and control
                         if they are used. The values
                     that can be written are:
                     delete(3)...deletes the row
                     create(4)...creates a new row
                     modify(5)...modifies an exsisting row

                     If the row exists, then a SET with
                     value of create(4) returns error
                     'badValue'. Deleted rows go away
                     immediately. The following values
                     can be returned on reads:
                     noSuch(0)...no such row
                     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative..
                     valid(2)....the row exists and is valid"
             ::= { snOspfAreaRangeEntry 4 }

     snOspfAreaRangeAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
             ::= { snOspfAreaRangeEntry 5 }



 

--  Section 4:          OSPF Interface Configuration Table

--      The OSPF Interface Table augments the ifTable with OSPF
--      specific information.
--  snOspfIfTable was replaced by snOspfIf2Table. The snOspfIfPort
--  was not an ifIndex, and the snOspfIf2Port is an ifIndex.


     snOspfIfTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfIfEntry
         ACCESS   not-accessible
         STATUS   deprecated
         DESCRIPTION
            "The OSPF Interface Table describes the interfaces from
            the viewpoint of OSPF."
         REFERENCE
            "OSPF Version 2, Appendix C.3  Router interface
            parameters"
         ::= { snOspfIntf 1 }

     snOspfIfEntry OBJECT-TYPE
         SYNTAX   SnOspfIfEntry
         ACCESS   not-accessible
         STATUS   deprecated
         DESCRIPTION
            "The OSPF Interface Entry describes one interface from
            the viewpoint of OSPF."
         INDEX { snOspfIfPort }
         ::= { snOspfIfTable 1 }

     SnOspfIfEntry ::=
         SEQUENCE {
             snOspfIfPort
                             INTEGER,
             snOspfIfAreaId
                 AreaID,
             snOspfIfAdminStat
                 RtrStatus,
             snOspfIfRtrPriority
                 DesignatedRouterPriority,
             snOspfIfTransitDelay
                 UpToMaxAge,
             snOspfIfRetransInterval
                 UpToMaxAge,
             snOspfIfHelloInterval
                 HelloRange,
             snOspfIfRtrDeadInterval
                 PositiveInteger,
             snOspfIfAuthType
                 INTEGER,
             snOspfIfAuthKey
                 OCTET STRING,
                 snOspfIfMetricValue
                 INTEGER,
                         snOspfIfRowStatus 
                                 INTEGER, 
                         snOspfIfMd5AuthKeyId
                             INTEGER,
             snOspfIfMd5AuthKey
                 OCTET STRING,
                         snOspfIfMd5ActivationWaitTime
                             INTEGER,
                         snOspfIfAreaIdFormat 
                                 INTEGER,
                         snOspfIfPassiveMode
                 INTEGER,
             snOspfIfDatabaseFilterAllOut
                 INTEGER,
             snOspfIfMtuIgnore
                 INTEGER,
             snOspfIfNetworkP2mp
                 INTEGER
         }


    snOspfIfPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   deprecated
         DESCRIPTION
            "The physical router port of this OSPF interface."
         ::= { snOspfIfEntry 1 }


     snOspfIfAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "A 32-bit integer uniquely identifying the area to
            which the interface connects.  Area ID 0.0.0.0 is used
            for the OSPF backbone."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfEntry 2 }


     snOspfIfAdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The OSPF interface's administrative status.  The value
            'enabled' denotes that neighbor relationships may be
            formed on the interface, and the interface will be
            advertised as an internal route to some area.  The
            value 'disabled' denotes that the interface is external
            to OSPF."
         DEFVAL { enabled }
         ::= { snOspfIfEntry 3 }

     snOspfIfRtrPriority OBJECT-TYPE
         SYNTAX   DesignatedRouterPriority
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The priority of this interface.  Used in multi-access
            networks, this field is used in the designated router
            election algorithm.  The value 0 signifies that the
            router is not eligible to become the designated router
            on this particular network.  In the event of a tie in
            this value, routers will use their router id as a tie
            breaker."
         DEFVAL { 1 }
         ::= { snOspfIfEntry 4 }

     snOspfIfTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfIfEntry 5 }

     snOspfIfRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets."
         DEFVAL { 5 }
         ::= { snOspfIfEntry 6 }

     snOspfIfHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for all routers attached to a
            common network."
         DEFVAL { 10 }
         ::= { snOspfIfEntry 7 }

     snOspfIfRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for all routers
            attached to a common network."
         DEFVAL { 40 }
         ::= { snOspfIfEntry 8 }


     snOspfIfAuthType OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
                     -- none (0),
                     -- simplePassword (1)
                     -- md5 (2)
                     -- reserved for specification by IANA (> 2)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfIfEntry 9 }


     snOspfIfAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The Authentication Key.  If the Area's Authorization
            Type is simplePassword, and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, snOspfIfAuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfIfEntry 10 }


     snOspfIfMetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The metric of using this type  of  service  on
             this interface.  The default value of the TOS 0
             Metric is 10^8 / ifSpeed."
         ::= { snOspfIfEntry 11 }

     snOspfIfRowStatus OBJECT-TYPE
             SYNTAX   INTEGER {
                                        invalid(1),
                                        valid(2),
                                        delete(3),
                                        create(4),
                                        modify(5)
                                  }
                 ACCESS   read-write
         STATUS   deprecated
                 DESCRIPTION
                        "This object is used to create and
                     delete row in the table and control
                         if they are used. The values
                     that can be written are:
                     delete(3)...deletes the row
                     create(4)...creates a new row
                     modify(5)...modifies an exsisting row

                     If the row exists, then a SET with
                     value of create(4) returns error
                     'badValue'. Deleted rows go away
                     immediately. The following values
                     can be returned on reads:
                     noSuch(0)...no such row
                     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative..
                     valid(2)....the row exists and is valid"
             ::= { snOspfIfEntry 12 }
     
     snOspfIfMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfIfEntry 13 }


     snOspfIfMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.
            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         ::= { snOspfIfEntry 14 }


     snOspfIfMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-write
         STATUS   deprecated
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfIfEntry 15 }

     snOspfIfAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
         STATUS   deprecated
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
             ::= { snOspfIfEntry 16 }

     snOspfIfPassiveMode OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
         STATUS   deprecated
                 DESCRIPTION
                        "This object control the passive mode of this interface."
             ::= { snOspfIfEntry 17 }

     snOspfIfDatabaseFilterAllOut OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
         STATUS   deprecated
                 DESCRIPTION
                        "This object control the filtering of outgoing OSPF LSA on this interface."
             ::= { snOspfIfEntry 18 }

     snOspfIfMtuIgnore OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
         STATUS   deprecated
                 DESCRIPTION
                        "This object control MTU detection mode of this interface."
             ::= { snOspfIfEntry 19 }

     snOspfIfNetworkP2mp OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
         STATUS   deprecated
                 DESCRIPTION
                        "This object enable/disable P2MP mode of this interface."
             ::= { snOspfIfEntry 20 }


--  Section 4:          OSPF Interface Configuration Table

--      The OSPF Interface Table augments the ifTable with OSPF
--      specific information.
--  snOspfIf2Table replaced snOspfIfTable. The snOspfIf2Port
--  is an ifIndex, and the snOspfIfPort is not an ifIndex.


     snOspfIf2Table OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfIf2Entry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Table describes the interfaces from
            the viewpoint of OSPF."
         REFERENCE
            "OSPF Version 2, Appendix C.3  Router interface
            parameters"
         ::= { snOspfIntf 2 }

     snOspfIf2Entry OBJECT-TYPE
         SYNTAX   SnOspfIf2Entry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Entry describes one interface from
            the viewpoint of OSPF."
         INDEX { snOspfIf2Port }
         ::= { snOspfIf2Table 1 }

     SnOspfIf2Entry ::=
         SEQUENCE {
             snOspfIf2Port
                             INTEGER,
             snOspfIf2AreaId
                 AreaID,
             snOspfIf2AdminStat
                 RtrStatus,
             snOspfIf2RtrPriority
                 DesignatedRouterPriority,
             snOspfIf2TransitDelay
                 UpToMaxAge,
             snOspfIf2RetransInterval
                 UpToMaxAge,
             snOspfIf2HelloInterval
                 HelloRange,
             snOspfIf2RtrDeadInterval
                 PositiveInteger,
             snOspfIf2AuthType
                 INTEGER,
             snOspfIf2AuthKey
                 OCTET STRING,
                 snOspfIf2MetricValue
                 INTEGER,
                         snOspfIf2RowStatus 
                                 INTEGER, 
                         snOspfIf2Md5AuthKeyId
                             INTEGER,
             snOspfIf2Md5AuthKey
                 OCTET STRING,
                         snOspfIf2Md5ActivationWaitTime
                             INTEGER,
                         snOspfIf2AreaIdFormat 
                                 INTEGER,
                         snOspfIf2PassiveMode
                 INTEGER,
             snOspfIf2DatabaseFilterAllOut
                 INTEGER,
             snOspfIf2MtuIgnore
                 INTEGER,
             snOspfIf2NetworkP2mp
                 INTEGER,
             snOspfIf2NetworkP2pt
                 INTEGER,
             snOspfIf2NetworkNonBroadcast
                 INTEGER
         }


    snOspfIf2Port OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical router port of this OSPF interface."
         ::= { snOspfIf2Entry 1 }


     snOspfIf2AreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the area to
            which the interface connects.  Area ID 0.0.0.0 is used
            for the OSPF backbone."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIf2Entry 2 }


     snOspfIf2AdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The OSPF interface's administrative status.  The value
            'enabled' denotes that neighbor relationships may be
            formed on the interface, and the interface will be
            advertised as an internal route to some area.  The
            value 'disabled' denotes that the interface is external
            to OSPF."
         DEFVAL { enabled }
         ::= { snOspfIf2Entry 3 }

     snOspfIf2RtrPriority OBJECT-TYPE
         SYNTAX   DesignatedRouterPriority
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The priority of this interface.  Used in multi-access
            networks, this field is used in the designated router
            election algorithm.  The value 0 signifies that the
            router is not eligible to become the designated router
            on this particular network.  In the event of a tie in
            this value, routers will use their router id as a tie
            breaker."
         DEFVAL { 1 }
         ::= { snOspfIf2Entry 4 }

     snOspfIf2TransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfIf2Entry 5 }

     snOspfIf2RetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets."
         DEFVAL { 5 }
         ::= { snOspfIf2Entry 6 }

     snOspfIf2HelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for all routers attached to a
            common network."
         DEFVAL { 10 }
         ::= { snOspfIf2Entry 7 }

     snOspfIf2RtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for all routers
            attached to a common network."
         DEFVAL { 40 }
         ::= { snOspfIf2Entry 8 }


     snOspfIf2AuthType OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
                     -- none (0),
                     -- simplePassword (1)
                     -- md5 (2)
                     -- reserved for specification by IANA (> 2)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfIf2Entry 9 }


     snOspfIf2AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Authentication Key.  If the Area's Authorization
            Type is simplePassword, and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, snOspfIf2AuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfIf2Entry 10 }


     snOspfIf2MetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..65535)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using this type  of  service  on
             this interface.  The default value of the TOS 0
             Metric is 10^8 / ifSpeed."
         ::= { snOspfIf2Entry 11 }

     snOspfIf2RowStatus OBJECT-TYPE
             SYNTAX   INTEGER {
                                        invalid(1),
                                        valid(2),
                                        delete(3),
                                        create(4),
                                        modify(5)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to create and
                     delete row in the table and control
                         if they are used. The values
                     that can be written are:
                     delete(3)...deletes the row
                     create(4)...creates a new row
                     modify(5)...modifies an exsisting row

                     If the row exists, then a SET with
                     value of create(4) returns error
                     'badValue'. Deleted rows go away
                     immediately. The following values
                     can be returned on reads:
                     noSuch(0)...no such row
                     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative..
                     valid(2)....the row exists and is valid"
             ::= { snOspfIf2Entry 12 }
     
     snOspfIf2Md5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfIf2Md5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfIf2Entry 13 }


     snOspfIf2Md5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.
            When read, snOspfIf2Md5AuthKey always returns an Octet String
            of length zero."
         ::= { snOspfIf2Entry 14 }


     snOspfIf2Md5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfIf2Entry 15 }

     snOspfIf2AreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
             ::= { snOspfIf2Entry 16 }

     snOspfIf2PassiveMode OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object control the passive mode of this interface."
             ::= { snOspfIf2Entry 17 }

     snOspfIf2DatabaseFilterAllOut OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object control the filtering of outgoing OSPF LSA on this interface."
             ::= { snOspfIf2Entry 18 }

     snOspfIf2MtuIgnore OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object control MTU detection mode of this interface."
             ::= { snOspfIf2Entry 19 }

     snOspfIf2NetworkP2mp OBJECT-TYPE
             SYNTAX   INTEGER {
                        disabled(0),
                        enabled(1)
                        }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object enable/disable P2MP mode of this interface."
             ::= { snOspfIf2Entry 20 }

     snOspfIf2NetworkP2pt OBJECT-TYPE
           SYNTAX   INTEGER {
                disabled(0),
                enabled(1)
                }
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
                "This object enable/disable Point-to-Point mode of this interface."
          ::= { snOspfIf2Entry 21 }

     snOspfIf2NetworkNonBroadcast OBJECT-TYPE
           SYNTAX   INTEGER {
                disabled(0),
                enabled(1)
                }
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
                "This object enable/disable non broadcast mode of this interface."
          ::= { snOspfIf2Entry 22 }


--  Section 5:          OSPF Virtual Interface Table

--      The Virtual Interface Table describes the virtual
--      links that the OSPF Process is configured to
--      carry on.



     snOspfVirtIfTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfVirtIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about this router's virtual interfaces."
         REFERENCE
            "OSPF Version 2, Appendix C.4  Virtual link parameters"
         ::= { snOspfVirtIf 1 }

     snOspfVirtIfEntry OBJECT-TYPE
         SYNTAX   SnOspfVirtIfEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about a single Virtual Interface."
         INDEX { snOspfVirtIfAreaID, snOspfVirtIfNeighbor }
         ::= { snOspfVirtIfTable 1 }

     SnOspfVirtIfEntry ::=
         SEQUENCE {
             snOspfVirtIfAreaID
                 AreaID,
             snOspfVirtIfNeighbor
                 RouterID,
             snOspfVirtIfTransitDelay
                 UpToMaxAge,
             snOspfVirtIfRetransInterval
                 UpToMaxAge,
             snOspfVirtIfHelloInterval
                 HelloRange,
             snOspfVirtIfRtrDeadInterval
                 PositiveInteger,
             snOspfVirtIfAuthType
                 INTEGER,
             snOspfVirtIfAuthKey
                 OCTET STRING,
             snOspfVirtIfRowStatus
                                 INTEGER, 
                         snOspfVirtIfMd5AuthKeyId
                             INTEGER,
             snOspfVirtIfMd5AuthKey
                 OCTET STRING,
                         snOspfVirtIfMd5ActivationWaitTime
                             INTEGER,
                         snOspfVirtIfAreaIdFormat 
                                 INTEGER
         }

     snOspfVirtIfAreaID OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Transit Area that the Virtual Link traverses.  By
            definition, this is not 0.0.0.0"
         ::= { snOspfVirtIfEntry 1 }

     snOspfVirtIfNeighbor OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router ID of the Virtual Neighbor."
         ::= { snOspfVirtIfEntry 2 }

     snOspfVirtIfTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfVirtIfEntry 3 }

     snOspfVirtIfRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets.
            This value should be well over the expected round-trip
            time."
         DEFVAL { 5 }
         ::= { snOspfVirtIfEntry 4 }

     snOspfVirtIfHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for the virtual neighbor."
         DEFVAL { 10 }
         ::= { snOspfVirtIfEntry 5 }

     snOspfVirtIfRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for the virtual
            neighbor."
         DEFVAL { 60 }
         ::= { snOspfVirtIfEntry 6 }

     snOspfVirtIfAuthType OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
                     -- none (0),
                     -- simplePassword (1)
                     -- md5 (2)
                     -- reserved for specification by IANA (> 2)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfVirtIfEntry 7 }

     snOspfVirtIfAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8)) 
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "If Authentication Type is simplePassword, the device
            will left adjust and zero fill to 8 octets.

            When read, snOspfVifAuthKey always returns a string of
            length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfEntry 8 }

     snOspfVirtIfRowStatus OBJECT-TYPE
             SYNTAX   INTEGER {
                                        invalid(1),
                                        valid(2),
                                        delete(3),
                                        create(4),
                                        modify(5)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to create and
                     delete row in the table and control
                         if they are used. The values
                     that can be written are:
                     delete(3)...deletes the row
                     create(4)...creates a new row
                     modify(5)...modifies an exsisting row

                     If the row exists, then a SET with
                     value of create(4) returns error
                     'badValue'. Deleted rows go away
                     immediately. The following values
                     can be returned on reads:
                     noSuch(0)...no such row
                     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative..
                     valid(2)....the row exists and is valid"
             ::= { snOspfVirtIfEntry 9 } 

     snOspfVirtIfMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfVirtIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfVirtIfEntry 10 }


     snOspfVirtIfMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.

            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfEntry 11 }


     snOspfVirtIfMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfVirtIfEntry 12 }


     snOspfVirtIfAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
         ::= { snOspfVirtIfEntry 13 }






--  Section 6:          OSPF Redistribution of Routes Table

--      The OSPF Redistribution of Routes Table contains list of routes
--      that will be used to decide whether a particular RIP or Static
--      route is to be imported into OSPF domain as external type 2
--      route when parameter Import Route into OSPF is Enabled.


     snOspfRedisTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfRedisEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Redistribution Table contains a list of routes
            that could be imported into the OSPF domain."
         ::= { snOspfRedis 1 }

     snOspfRedisEntry OBJECT-TYPE
         SYNTAX   SnOspfRedisEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Redistribution Entry specifies a particular RIP 
            or Static route to be imported into the OSPF domain."
         INDEX { snOspfRedisIndex }
         ::= { snOspfRedisTable 1 }

     SnOspfRedisEntry ::=
         SEQUENCE {
             snOspfRedisIndex
                 INTEGER,
             snOspfRedisIpAddress
                 IpAddress,
             snOspfRedisMask
                 IpAddress,
             snOspfRedisAction
                 INTEGER,
             snOspfRedisProtocol
                 INTEGER,
                 snOspfRedisSetOspfMetric
                             INTEGER,
                 snOspfRedisOspfMetricValue
                 Metric,
                 snOspfRedisMatchRipMetric
                             INTEGER,
                 snOspfRedisRipMetricValue
                 INTEGER,
             snOspfRedisRowStatus
                 INTEGER
         }


    snOspfRedisIndex OBJECT-TYPE
         SYNTAX   INTEGER (1..64)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The destination IP address that associates with 
            this particular route."
         ::= { snOspfRedisEntry 1 }

    snOspfRedisIpAddress OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The destination IP address that associates with 
            this particular route."
         ::= { snOspfRedisEntry 2 }

    snOspfRedisMask OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Subnet Mask that pertains to this route."
         ::= { snOspfRedisEntry 3 }

    snOspfRedisAction OBJECT-TYPE
         SYNTAX   INTEGER {
                                        noImport(0),
                                        import(1)
                                  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The action to be taken if the route match this entry. 
                noImport(0):    - the route is NOT imported into OSPF
                                  Domain. 
                import(1):              - the route is imported into OSPF
                                  Domain as external type 2 route."
         ::= { snOspfRedisEntry 4 }

    snOspfRedisProtocol OBJECT-TYPE
         SYNTAX   INTEGER {
                    rip(1),
                    all(2),
                    static(3),
                    bgp(4),
                    connected(5),
                    isis(6)
                                  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The imported routes into OSPF domain is set in the following: 
                rip(1):         - the RIP route.
                all(2):         - all protocol route.
                static(3):      - the static route.
                bgp(4):         - the BGP route.
                connected(5):           - the connected route.
                isis(6):                - the ISIS route."
         ::= { snOspfRedisEntry 5 }

        snOspfRedisSetOspfMetric OBJECT-TYPE
         SYNTAX   INTEGER {
                            disabled(0),
                                        enabled(1)
                                  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The value indicates to which the route metric should match: 
                disabled(0):    - the route metric does NOT match the 
                                  OSPF metric field.
                enabled(1):             - the route metric matches the OSPF 
                                  metric field."
         ::= { snOspfRedisEntry 6 }


        snOspfRedisOspfMetricValue OBJECT-TYPE
         SYNTAX   Metric
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using OSPF Metric value on this route."
         ::= { snOspfRedisEntry 7 }


        snOspfRedisMatchRipMetric OBJECT-TYPE
         SYNTAX   INTEGER {
                            disabled(0),
                                        enabled(1)
                                  }
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The value indicates to which the route metric should match: 
                disabled(0):    - the route metric does NOT match the 
                                  RIP metric field.
                enabled(1):             - the route metric matches the RIP 
                                  metric field."
         ::= { snOspfRedisEntry 8 }


     snOspfRedisRipMetricValue OBJECT-TYPE
         SYNTAX   INTEGER (1..15)
         ACCESS   read-write
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using RIP Metric value (1 to 15 hops) on this route."
         ::= { snOspfRedisEntry 9 }


     snOspfRedisRowStatus OBJECT-TYPE
             SYNTAX   INTEGER {
                                        invalid(1),
                                        valid(2),
                                        delete(3),
                                        create(4),
                                        modify(5)
                                  }
                 ACCESS   read-write
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to create and
                     delete row in the table and control
                         if they are used. The values
                     that can be written are:
                     delete(3)...deletes the row
                     create(4)...creates a new row
                     modify(5)...modifies an exsisting row

                     If the row exists, then a SET with
                     value of create(4) returns error
                     'badValue'. Deleted rows go away
                     immediately. The following values
                     can be returned on reads:
                     noSuch(0)...no such row
                     invalid(1)...Setting it to 'invalid' has the effect of
                          rendering it inoperative..
                     valid(2)....the row exists and is valid"
             ::= { snOspfRedisEntry 10 }



--  Section 7:          OSPF Neighbor Table

--      The OSPF Neighbor Table describes all neighbors in
--      the locality of the subject router.


     snOspfNbrTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table of non-virtual neighbor information."
         REFERENCE
            "OSPF Version 2, Section 10 The Neighbor Data
            Structure"
         ::= { snOspfNbr 1 }

     snOspfNbrEntry OBJECT-TYPE
         SYNTAX   SnOspfNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The information regarding a single neighbor."
         REFERENCE
            "OSPF Version 2, Section 10 The Neighbor Data
            Structure"
         INDEX { snOspfNbrEntryIndex }
         ::= { snOspfNbrTable 1 }

     SnOspfNbrEntry ::=
         SEQUENCE {
             snOspfNbrEntryIndex
                 INTEGER,
                 snOspfNbrPort
                         INTEGER,
             snOspfNbrIpAddr
                 IpAddress,
             snOspfNbrIndex
                 INTEGER,
             snOspfNbrRtrId
                 RouterID,
             snOspfNbrOptions
                 INTEGER,
             snOspfNbrPriority
                 DesignatedRouterPriority,
             snOspfNbrState
                 INTEGER,
                 snOspfNbrEvents
                 Counter,
                 snOspfNbrLsRetransQLen
                 Gauge
         }

     snOspfNbrEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this neighbor."
         ::= { snOspfNbrEntry 1 }
     
     snOspfNbrPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical port of this neighbor."
         ::= { snOspfNbrEntry 2 }
     

     snOspfNbrIpAddr OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP address of this neighbor."
         ::= { snOspfNbrEntry 3 }


     snOspfNbrIndex OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The neighbor index of each port and each IP address."
         ::= { snOspfNbrEntry 4 }
     
     snOspfNbrRtrId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer (represented as a type IpAddress)
            uniquely identifying the neighboring router in the
            Autonomous System."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfNbrEntry 5 }


    snOspfNbrOptions OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A Bit Mask corresponding to the neighbor's op-
           tions field.

           Bit 0, if set, indicates that the  system  will
           operate  on  Type of Service metrics other than
           TOS 0.  If zero, the neighbor will  ignore  all
           metrics except the TOS 0 metric.

           Bit 1, if set, indicates  that  the  associated
           area  accepts and operates on external informa-
           tion; if zero, it is a stub area.

           Bit 2, if set, indicates that the system is ca-
           pable  of routing IP Multicast datagrams; i.e.,
           that it implements the Multicast Extensions  to
           OSPF.

           Bit 3, if set, indicates  that  the  associated
           area  is  an  NSSA.  These areas are capable of
           carrying type 7 external advertisements,  which
           are  translated into type 5 external advertise-
           ments at NSSA borders."
       REFERENCE
          "OSPF Version 2, Section 12.1.2 Options"
      DEFVAL { 0 }
      ::= { snOspfNbrEntry 6 }


    snOspfNbrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The priority of this neighbor in the designat-
           ed router election algorithm.  The value 0 sig-
           nifies that the neighbor is not eligible to be-
           come  the  designated router on this particular
           network."
       DEFVAL { 1 }
       ::= { snOspfNbrEntry 7 }


    snOspfNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeStart (5),
                    exchange (6),
                    loading (7),
                    full (8)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The State of the relationship with this Neigh-
           bor."
       REFERENCE
          "OSPF Version 2, Section 10.1 Neighbor States"
      DEFVAL   { down }
      ::= { snOspfNbrEntry 8 }


    snOspfNbrEvents OBJECT-TYPE
        SYNTAX   Counter
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of times this neighbor relationship
           has changed state, or an error has occurred."
       ::= { snOspfNbrEntry 9 }


    snOspfNbrLsRetransQLen OBJECT-TYPE
        SYNTAX   Gauge
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  current  length  of  the   retransmission
           queue."
       ::= { snOspfNbrEntry 10 }



     --  Section 8: OSPF Virtual Neighbor Table

     --      This table describes all virtual neighbors.
     --      Since Virtual Links are configured in the
     --      virtual interface table, this table is read-only.

     snOspfVirtNbrTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfVirtNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table of virtual neighbor information."
         REFERENCE
            "OSPF Version 2, Section 15  Virtual Links"
         ::= { snOspfVirtNbr 1 }

     snOspfVirtNbrEntry OBJECT-TYPE
         SYNTAX   SnOspfVirtNbrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Virtual neighbor information."
         INDEX { snOspfVirtNbrEntryIndex }
         ::= { snOspfVirtNbrTable 1 }

     SnOspfVirtNbrEntry ::=
         SEQUENCE {
             snOspfVirtNbrEntryIndex
                 INTEGER,
             snOspfVirtNbrArea
                 AreaID,
             snOspfVirtNbrRtrId
                 RouterID,
             snOspfVirtNbrIpAddr
                 IpAddress,
             snOspfVirtNbrOptions
                 INTEGER,
             snOspfVirtNbrState
                 INTEGER,
             snOspfVirtNbrEvents
                 Counter,
             snOspfVirtNbrLSRetransQLen
                 Gauge,
                         snOspfVirtNbrAreaIdFormat 
                                 INTEGER
         }

     snOspfVirtNbrEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this virtual neighbor."
         ::= { snOspfVirtNbrEntry 1 }

     snOspfVirtNbrArea OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Transit Area Identifier."
         ::= { snOspfVirtNbrEntry 2 }

     snOspfVirtNbrRtrId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the neighboring
            router in the Autonomous System."
         ::= { snOspfVirtNbrEntry 3 }

     snOspfVirtNbrIpAddr OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP address this Virtual Neighbor is using."
         ::= { snOspfVirtNbrEntry 4 }

     snOspfVirtNbrOptions OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A bit map corresponding to the neighbor's options
            field.  Thus, Bit 1, if set, indicates that the
            neighbor supports Type of Service Routing; if zero, no
            metrics other than TOS 0 are in use by the neighbor."
         ::= { snOspfVirtNbrEntry 5 }

     snOspfVirtNbrState OBJECT-TYPE
         SYNTAX   INTEGER {
                     down (1),
                     attempt (2),
                     init (3),
                     twoWay (4),
                     exchangeStart (5),
                     exchange (6),
                     loading (7),
                     full (8)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The state of the Virtual Neighbor Relationship."
         ::= { snOspfVirtNbrEntry 6 }

     snOspfVirtNbrEvents OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of times this virtual link has changed its
            state, or an error has occurred."
         ::= { snOspfVirtNbrEntry 7 }

     snOspfVirtNbrLSRetransQLen OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The current length of the retransmission queue."
         ::= { snOspfVirtNbrEntry 8 }

     snOspfVirtNbrAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
             ::= { snOspfVirtNbrEntry 9 }


     --  Section 9: OSPF Link State Database

     --      The Link State Database contains the Link State
     --      Advertisements from throughout the areas that the
     --      device is attached to.

     snOspfLsdbTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfLsdbEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Process's Links State Database."
         REFERENCE
            "OSPF Version 2, Section 12 Link State Advertisements"
         ::= { snOspfLsdb 1 }

     snOspfLsdbEntry OBJECT-TYPE
         SYNTAX   SnOspfLsdbEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A single Link State Advertisement."
         INDEX { snOspfLsdbEntryIndex }
         ::= { snOspfLsdbTable 1 }

     SnOspfLsdbEntry ::=
         SEQUENCE {
             snOspfLsdbEntryIndex
                 INTEGER,
             snOspfLsdbAreaId
                 AreaID,
             snOspfLsdbType
                 INTEGER,
             snOspfLsdbLsId
                 IpAddress,
             snOspfLsdbRouterId
                 RouterID,
             snOspfLsdbSequence
                 INTEGER,
             snOspfLsdbAge
                 INTEGER,
             snOspfLsdbChecksum
                 INTEGER,
             snOspfLsdbAdvertisement
                 OCTET STRING,
                         snOspfLsdbAreaIdFormat 
                                 INTEGER
         }

     snOspfLsdbEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Link State Database."
         ::= { snOspfLsdbEntry 1 }


     snOspfLsdbAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32 bit identifier of the Area from which the LSA
            was received."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfLsdbEntry 2 }

     snOspfLsdbType OBJECT-TYPE
         SYNTAX   INTEGER {
                     routerLink (1),
                     networkLink (2),
                     summaryLink (3),
                     asSummaryLink (4),
                     asExternalLink (5),
                     multicastLink (6),
                     nssaExternalLink (7),
                     opaqueLink (9),
                     opaqueAreaLink (10),
                     opaqueAsLink (11)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The type of the link state advertisement.  Each link
            state type has a separate advertisement format."
         REFERENCE
            "OSPF Version 2, Appendix A.4.1 The Link State
            Advertisement header"
         ::= { snOspfLsdbEntry 3 }

     snOspfLsdbLsId OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Link State ID is an LS Type Specific field
            containing either a Router ID or an IP Address; it
            identifies the piece of the routing domain that is
            being described by the advertisement."
         REFERENCE
            "OSPF Version 2, Section 12.1.4 Link State ID"
         ::= { snOspfLsdbEntry 4 }

     snOspfLsdbRouterId OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32 bit number that uniquely identifies the
            originating router in the Autonomous System."
         REFERENCE
            "OSPF Version 2, Appendix C.1 Global parameters"
         ::= { snOspfLsdbEntry 5 }

     --  Note that the OSPF Sequence Number is a 32 bit signed
     --  integer.  It starts with the value '80000001'h,
     --  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
     --  Thus, a typical sequence number will be very negative.

     snOspfLsdbSequence OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The sequence number field is a signed 32-bit integer.
            It is used to detect old and duplicate link state
            advertisements.  The space of sequence numbers is
            linearly ordered.  The larger the sequence number the
            more recent the advertisement."
         REFERENCE
            "OSPF Version 2, Section 12.1.6 LS sequence number"
         ::= { snOspfLsdbEntry 6 }

     snOspfLsdbAge OBJECT-TYPE
         SYNTAX   INTEGER    -- Should be 0..MaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This field is the age of the link state advertisement
            in seconds."
         REFERENCE
            "OSPF Version 2, Section 12.1.1 LS age"
         ::= { snOspfLsdbEntry 7 }

     snOspfLsdbChecksum OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "This field is the checksum of the complete contents of
            the advertisement, excepting the age field.  The age
            field is excepted so that an advertisement's age can be
            incremented without updating the checksum.  The
            checksum used is the same that is used for ISO
            connectionless datagrams; it is commonly referred to as
            the Fletcher checksum."
         REFERENCE
            "OSPF Version 2, Section 12.1.7 LS checksum"
         ::= { snOspfLsdbEntry 8 }

     snOspfLsdbAdvertisement OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (1..65535))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The entire Link State Advertisement, including its
            header."
         REFERENCE
            "OSPF Version 2, Section 12 Link State Advertisements"
         ::= { snOspfLsdbEntry 9 }


     snOspfLsdbAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
         ::= { snOspfLsdbEntry 10 }


--  Section 10: OSPF Link State Database, External

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--             This table is identical to the OSPF LSDB Table in
--      format, but contains only External Link State
--             Advertisements.  The purpose is to allow external
--      LSAs to be displayed once for the router rather
--      than once in each non-stub area.

    snOspfExtLsdbTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SnOspfExtLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Process's Links State Database."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { snOspfExtLsdb 1 }


    snOspfExtLsdbEntry OBJECT-TYPE
        SYNTAX   SnOspfExtLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { snOspfExtLsdbEntryIndex }
       ::= { snOspfExtLsdbTable 1 }

SnOspfExtLsdbEntry ::=
    SEQUENCE {
       snOspfExtLsdbEntryIndex 
            INTEGER,
        snOspfExtLsdbType
            INTEGER,
        snOspfExtLsdbLsId
            IpAddress,
        snOspfExtLsdbRouterId
            RouterID,
        snOspfExtLsdbSequence
            INTEGER,
        snOspfExtLsdbAge
            INTEGER,
        snOspfExtLsdbChecksum
            INTEGER,
        snOspfExtLsdbAdvertisement
            OCTET STRING
              }

    snOspfExtLsdbEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Link State Database."
         ::= { snOspfExtLsdbEntry 1 }


    snOspfExtLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    asExternalLink (5)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type  of  the  link  state  advertisement.
           Each  link state type has a separate advertise-
           ment format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { snOspfExtLsdbEntry 2 }


    snOspfExtLsdbLsId OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { snOspfExtLsdbEntry 3 }


    snOspfExtLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { snOspfExtLsdbEntry 4 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer.  It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--  Thus, a typical sequence number will be very negative.


    snOspfExtLsdbSequence OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer.   It  is used to detect old and dupli-
           cate link state advertisements.  The  space  of
           sequence  numbers  is  linearly  ordered.   The
           larger the sequence number the more recent  the
           advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
      ::= { snOspfExtLsdbEntry 5 }


    snOspfExtLsdbAge OBJECT-TYPE
        SYNTAX   INTEGER    -- Should be 0..MaxAge
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
      ::= { snOspfExtLsdbEntry 6 }


    snOspfExtLsdbChecksum OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the  checksum  of  the  complete
           contents  of  the  advertisement, excepting the
           age field.  The age field is excepted  so  that
           an   advertisement's  age  can  be  incremented
           without updating the  checksum.   The  checksum
           used  is  the same that is used for ISO connec-
           tionless datagrams; it is commonly referred  to
           as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
      ::= { snOspfExtLsdbEntry 7 }


    snOspfExtLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(36))
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { snOspfExtLsdbEntry 8 }



--              Section 11:     OSPF Area Status Table

--      The OSPF Area Status Data Structure contains information
--      regarding the various areas. The interfaces and
--      virtual links are configured as part of these areas.
--      Area 0.0.0.0, by definition, is the Backbone Area

     snOspfAreaStatusTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfAreaStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of the router's attached areas."
         REFERENCE
            "OSPF Version 2, Section 6  The Area Data Structure"
         ::= { snOspfAreaStatus 1 }

     snOspfAreaStatusEntry OBJECT-TYPE
         SYNTAX   SnOspfAreaStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information describing the configured parameters and
            cumulative statistics of one of the router's attached
            areas."
         INDEX { snOspfAreaStatusEntryIndex }
         ::= { snOspfAreaStatusTable 1 }

     SnOspfAreaStatusEntry ::=
         SEQUENCE {
                 snOspfAreaStatusEntryIndex 
                 INTEGER,
             snOspfAreaStatusAreaId 
                 AreaID,
                         snOspfAreaStatusImportASExtern
                 INTEGER,
             snOspfAreaStatusStubMetric
                 BigMetric,
             snOspfAreaStatusSpfRuns
                 Counter,
             snOspfAreaStatusAreaBdrRtrCount
                 Gauge,
             snOspfAreaStatusASBdrRtrCount
                 Gauge,
             snOspfAreaStatusLSACount
                 Gauge,
             snOspfAreaStatusLSACksumSum
                 INTEGER,
                         snOspfAreaStatusAreaIdFormat 
                                 INTEGER
         }

     snOspfAreaStatusEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Area."
         ::= { snOspfAreaStatusEntry 1 }


     snOspfAreaStatusAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying an area.  Area
            ID 0.0.0.0 is used for the OSPF backbone."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         ::= { snOspfAreaStatusEntry 2 }

     snOspfAreaStatusImportASExtern OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The area's support for importing AS external link-
            state advertisements."
         REFERENCE
            "OSPF Version 2, Appendix C.2 Area parameters"
         DEFVAL { 1 }
         ::= { snOspfAreaStatusEntry 3 }

     snOspfAreaStatusStubMetric OBJECT-TYPE
         SYNTAX   BigMetric
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The metric value applied at the default type of
            service(ospfMetric).  By default, this equals the 
            least metric at the type of service among the 
            interfaces to other areas.  This Object exist if
            only if the value of snOspfAreaSummary is 
            snOspfAreaSummary(2); Otherwise, an SNMP_GET/GET_NEXT 
            attempt of this Object will return NO_SUCH_NAME."
         ::= { snOspfAreaStatusEntry 4 }

     snOspfAreaStatusSpfRuns OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of times that the intra-area route table
            has been calculated using this area's link-state
            database.  This is typically done using Dijkstra's
            algorithm."
         ::= { snOspfAreaStatusEntry 5 }

     snOspfAreaStatusAreaBdrRtrCount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The total number of area border routers reachable
            within this area.  This is initially zero, and is
            calculated in each SPF Pass."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 6 }

     snOspfAreaStatusASBdrRtrCount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The total number of Autonomous System border routers
            reachable within this area.  This is initially zero,
            and is calculated in each SPF Pass."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 7 }

     snOspfAreaStatusLSACount OBJECT-TYPE
         SYNTAX   Gauge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The total number of link-state advertisements in this
            area's link-state database, excluding AS External
            LSA's."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 8 }

     snOspfAreaStatusLSACksumSum OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The 32-bit unsigned sum of the link-state
            advertisements' LS checksums contained in this area's
            link-state database.  This sum excludes external (LS
            type 5) link-state advertisements.  The sum can be used
            to determine if there has been a change in a router's
            link state database, and to compare the link-state
            database of two routers."
         DEFVAL   { 0 }
         ::= { snOspfAreaStatusEntry 9 }


     snOspfAreaStatusAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
         ::= { snOspfAreaStatusEntry 10 }
     


--  Section 12:         OSPF Interface Status Table

--      The OSPF Interface Status Table augments the ifStatusTable with OSPF
--      specific information.


     snOspfIfStatusTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Status Table describes the interfaces from
            the viewpoint of OSPF."
         ::= { snOspfIfStatus 1 }

     snOspfIfStatusEntry OBJECT-TYPE
         SYNTAX   SnOspfIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface Entry describes one interface from
            the viewpoint of OSPF."
         INDEX { snOspfIfStatusEntryIndex }
         ::= { snOspfIfStatusTable 1 }

     SnOspfIfStatusEntry ::=
         SEQUENCE {
                 snOspfIfStatusEntryIndex 
                 INTEGER,
             snOspfIfStatusPort
                             INTEGER,
             snOspfIfStatusIpAddress
                 IpAddress,
             snOspfIfStatusAreaId
                 AreaID,
             snOspfIfStatusType
                 INTEGER,
             snOspfIfStatusAdminStat
                 RtrStatus,
             snOspfIfStatusRtrPriority
                 DesignatedRouterPriority,
             snOspfIfStatusTransitDelay
                 UpToMaxAge,
             snOspfIfStatusRetransInterval
                 UpToMaxAge,
             snOspfIfStatusHelloInterval
                 HelloRange,
             snOspfIfStatusRtrDeadInterval
                 PositiveInteger,
             snOspfIfStatusState
                 INTEGER,
             snOspfIfStatusDesignatedRouter
                 IpAddress,
             snOspfIfStatusBackupDesignatedRouter
                 IpAddress,
             snOspfIfStatusEvents
                 Counter,
             snOspfIfStatusAuthType
                 INTEGER,
             snOspfIfStatusAuthKey
                 OCTET STRING,
                 snOspfIfStatusMetricValue
                 Metric,
                         snOspfIfStatusMd5AuthKeyId
                             INTEGER,
             snOspfIfStatusMd5AuthKey
                 OCTET STRING,
                         snOspfIfStatusMd5ActivationWaitTime
                             INTEGER,
                         snOspfIfStatusAreaIdFormat 
                                 INTEGER
         }

     snOspfIfStatusEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Area."
         ::= { snOspfIfStatusEntry 1 }

     snOspfIfStatusPort OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The physical router port of this OSPF interface."
         ::= { snOspfIfStatusEntry 2 }

     snOspfIfStatusIpAddress OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP address of this OSPF interface."
         ::= { snOspfIfStatusEntry 3 }


     snOspfIfStatusAreaId OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "A 32-bit integer uniquely identifying the area to
            which the interface connects.  Area ID 0.0.0.0 is used
            for the OSPF backbone."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfStatusEntry 4 }


     snOspfIfStatusType OBJECT-TYPE
         SYNTAX   INTEGER {
                     broadcast (1),
                     nbma (2),
                     pointToPoint (3)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF interface type.

            By way of a default, this field may be intuited from
            the corresponding value of ifType.  Broadcast LANs,
            such as Ethernet and IEEE 802.5, take the value
            'broadcast', X.25, Frame Relay, and similar
            technologies take the value 'nbma', and links that are
            definitively point to point take the value
            'pointToPoint'."
         ::= { snOspfIfStatusEntry 5 }


     snOspfIfStatusAdminStat OBJECT-TYPE
         SYNTAX   RtrStatus
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF interface's administrative status.  The value
            'enabled' denotes that neighbor relationships may be
            formed on the interface, and the interface will be
            advertised as an internal route to some area.  The
            value 'disabled' denotes that the interface is external
            to OSPF."
         ::= { snOspfIfStatusEntry 6 }

     snOspfIfStatusRtrPriority OBJECT-TYPE
         SYNTAX   DesignatedRouterPriority
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The priority of this interface.  Used in multi-access
            networks, this field is used in the designated router
            election algorithm.  The value 0 signifies that the
            router is not eligible to become the designated router
            on this particular network.  In the event of a tie in
            this value, routers will use their router id as a tie
            breaker."
         DEFVAL { 1 }
         ::= { snOspfIfStatusEntry 7 }

     snOspfIfStatusTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfIfStatusEntry 8 }

     snOspfIfStatusRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets."
         DEFVAL { 5 }
         ::= { snOspfIfStatusEntry 9 }

     snOspfIfStatusHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for all routers attached to a
            common network."
         DEFVAL { 10 }
         ::= { snOspfIfStatusEntry 10 }

     snOspfIfStatusRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for all routers
            attached to a common network."
         DEFVAL { 40 }
         ::= { snOspfIfStatusEntry 11 }

     snOspfIfStatusState OBJECT-TYPE
         SYNTAX   INTEGER {
                     down (1),
                     loopback (2),
                     waiting (3),
                     pointToPoint (4),
                     designatedRouter (5),
                     backupDesignatedRouter (6),
                     otherDesignatedRouter (7)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF Interface State."
         DEFVAL { down }
         ::= { snOspfIfStatusEntry 12 }

     snOspfIfStatusDesignatedRouter OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Designated Router."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfStatusEntry 13 }

     snOspfIfStatusBackupDesignatedRouter OBJECT-TYPE
         SYNTAX   IpAddress
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The IP Address of the Backup Designated Router."
         DEFVAL   { '00000000'h }    -- 0.0.0.0
         ::= { snOspfIfStatusEntry 14 }

     snOspfIfStatusEvents OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of times this OSPF interface has changed
            its state, or an error has occurred."
         ::= { snOspfIfStatusEntry 15 }


     snOspfIfStatusAuthType OBJECT-TYPE
         SYNTAX   INTEGER
                     -- none (0),
                     -- simplePassword (1)
                     -- reserved for specification by IANA (> 1)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfIfStatusEntry 16 }


     snOspfIfStatusAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Authentication Key.  If the Area's Authorization
            Type is simplePassword, and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, snOspfIfStatusAuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfIfStatusEntry 17 }


     snOspfIfStatusMetricValue OBJECT-TYPE
         SYNTAX   Metric
         ACCESS   read-only
         STATUS   mandatory 
         DESCRIPTION
            "The metric of using this type  of  service  on
             this interface.  The default value of the TOS 0
             Metric is 10^8 / ifSpeed."
         ::= { snOspfIfStatusEntry 18 }

     snOspfIfStatusMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfIfStatusEntry 19 }


     snOspfIfStatusMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.
            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         ::= { snOspfIfStatusEntry 20 }


     snOspfIfStatusMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-only
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfIfStatusEntry 21 }

     snOspfIfStatusAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
         ::= { snOspfIfStatusEntry 22 }


--  Section 13:         OSPF Virtual Interface Status Table

--      The Virtual Interface Status Table describes the virtual
--      links status data. 



     snOspfVirtIfStatusTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfVirtIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about this router's virtual interfaces."
         REFERENCE
            "OSPF Version 2, Appendix C.4  Virtual link parameters"
         ::= { snOspfVirtIfStatus 1 }

     snOspfVirtIfStatusEntry OBJECT-TYPE
         SYNTAX   SnOspfVirtIfStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about a single Virtual Interface."
         INDEX { snOspfVirtIfStatusEntryIndex }
         ::= { snOspfVirtIfStatusTable 1 }

     SnOspfVirtIfStatusEntry ::=
         SEQUENCE {
                 snOspfVirtIfStatusEntryIndex 
                 INTEGER,
             snOspfVirtIfStatusAreaID
                 AreaID,
             snOspfVirtIfStatusNeighbor
                 RouterID,
             snOspfVirtIfStatusTransitDelay
                 UpToMaxAge,
             snOspfVirtIfStatusRetransInterval
                 UpToMaxAge,
             snOspfVirtIfStatusHelloInterval
                 HelloRange,
             snOspfVirtIfStatusRtrDeadInterval
                 PositiveInteger,
             snOspfVirtIfStatusState
                 INTEGER,
             snOspfVirtIfStatusEvents
                 Counter,
             snOspfVirtIfStatusAuthType
                 INTEGER,
             snOspfVirtIfStatusAuthKey
                 OCTET STRING,
                         snOspfVirtIfStatusMd5AuthKeyId
                             INTEGER,
             snOspfVirtIfStatusMd5AuthKey
                 OCTET STRING,
                         snOspfVirtIfStatusMd5ActivationWaitTime
                             INTEGER,
                         snOspfVirtIfStatusAreaIdFormat 
                                 INTEGER
         }

     snOspfVirtIfStatusEntryIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Area."
         ::= { snOspfVirtIfStatusEntry 1 }


     snOspfVirtIfStatusAreaID   OBJECT-TYPE
         SYNTAX   AreaID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Transit Area that the Virtual Link traverses.  By
            definition, this is not 0.0.0.0 "
         ::= { snOspfVirtIfStatusEntry 2 }

     snOspfVirtIfStatusNeighbor OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router ID of the Virtual Neighbor."
         ::= { snOspfVirtIfStatusEntry 3 }

     snOspfVirtIfStatusTransitDelay OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The estimated number of seconds it takes to transmit a
            link- state update packet over this interface."
         DEFVAL { 1 }
         ::= { snOspfVirtIfStatusEntry 4 }

     snOspfVirtIfStatusRetransInterval OBJECT-TYPE
         SYNTAX   UpToMaxAge
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds between link-state advertisement
            retransmissions, for adjacencies belonging to this
            interface.  This value is also used when retransmitting
            database description and link-state request packets.
            This value should be well over the expected round-trip
            time."
         DEFVAL { 5 }
         ::= { snOspfVirtIfStatusEntry 5 }

     snOspfVirtIfStatusHelloInterval OBJECT-TYPE
         SYNTAX   HelloRange
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The length of time, in seconds, between the Hello
            packets that the router sends on the interface.  This
            value must be the same for the virtual neighbor."
         DEFVAL { 10 }
         ::= { snOspfVirtIfStatusEntry 6 }

     snOspfVirtIfStatusRtrDeadInterval OBJECT-TYPE
         SYNTAX   PositiveInteger
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of seconds that a router's Hello packets
            have not been seen before it's neighbors declare the
            router down.  This should be some multiple of the Hello
            interval.  This value must be the same for the virtual
            neighbor."
         DEFVAL { 60 }
         ::= { snOspfVirtIfStatusEntry 7 }


     snOspfVirtIfStatusState OBJECT-TYPE
         SYNTAX   INTEGER {
                     down (1),
                     pointToPoint (4)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The OSPF virtual interfaces states."
         DEFVAL { down }
         ::= { snOspfVirtIfStatusEntry 8 }


     snOspfVirtIfStatusEvents OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The number of state changes or error events on 
            this Virtual Link."
         ::= { snOspfVirtIfStatusEntry 9 }


     snOspfVirtIfStatusAuthType OBJECT-TYPE
         SYNTAX   INTEGER
                     -- none (0),
                     -- simplePassword (1)
                     -- reserved for specification by IANA (> 1)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The authentication type specified for an interface.
            Additional authentication types may be assigned locally
            on a per interface basis."
         REFERENCE
            "OSPF Version 2, Appendix E Authentication"
         DEFVAL { 0 }        -- no authentication, by default
         ::= { snOspfVirtIfStatusEntry 10 }

     snOspfVirtIfStatusAuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..8)) 
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "If Authentication Type is simplePassword, the device
            will left adjust and zero fill to 8 octets.

            When read, snOspfVifAuthKey always returns a string of
            length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfStatusEntry 11 }

     snOspfVirtIfStatusMd5AuthKeyId OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The md5 authentication key ID.  If the snOspfVirtIfAuthType
            is set to md5, the value of snOspfVirtIfMd5AuthKeyId must be
            (1 to 255). This field identifies the algorithm and secret 
            key used to create the message digest appended to the OSPF 
            packet.  Key Identifiers are unique per-interface 
            (or equivalently, per-subnet)."
         ::= { snOspfVirtIfStatusEntry 12 }


     snOspfVirtIfStatusMd5AuthKey OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE (0..16))
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The MD5 Authentication Key.  If the Area's Authorization
            Type is md5, and the key length is shorter than 16 octets, 
            the agent will left adjust and zero fill to 16 octets.

            When read, snOspfIfMd5AuthKey always returns an Octet String
            of length zero."
         REFERENCE
            "OSPF Version 2, Section 9 The Interface Data
            Structure"
         DEFVAL   { '0000000000000000'h }    -- 0.0.0.0.0.0.0.0
         ::= { snOspfVirtIfStatusEntry 13 }


     snOspfVirtIfStatusMd5ActivationWaitTime OBJECT-TYPE
         SYNTAX   INTEGER (0..14400)
         ACCESS   read-only
         STATUS   mandatory 
         DESCRIPTION
            "The md5 authentication key activation wait time is specified in second
            and the maximum wait time is 14400 seconds (4 hours)."
         ::= { snOspfVirtIfStatusEntry 14 }


     snOspfVirtIfStatusAreaIdFormat OBJECT-TYPE
             SYNTAX   INTEGER {
                                        integer(0),
                                        ipAddress(1)
                                  }
                 ACCESS   read-only
             STATUS   mandatory
                 DESCRIPTION
                        "This object is used to specify whether
                         AreaId is represented as IP Address or 
                         an Integer. The values
                     that can be written are:
                     integer(0).....as an integer.
                     ipAddress(1)...as IP Address."
         ::= { snOspfVirtIfStatusEntry 15 }


--  Section 14:         OSPF Routing Information Table

--      The OSPF Routing Information Table describes the OSPF ABR/ASBR
--      routing information. 



     snOspfRoutingInfoTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF SnOspfRoutingInfoEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about this router's routing information."
         ::= { snOspfRoutingInfo 1 }

     snOspfRoutingInfoEntry OBJECT-TYPE
         SYNTAX   SnOspfRoutingInfoEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "Information about a single ABR/ASBR Routing entry."
         INDEX { snOspfRoutingInfoIndex }
         ::= { snOspfRoutingInfoTable 1 }

     SnOspfRoutingInfoEntry ::=
         SEQUENCE {
                 snOspfRoutingInfoIndex 
                 INTEGER,
             snOspfRoutingInfoRouterID
                 RouterID,
             snOspfRoutingInfoRouterType
                 INTEGER,
             snOspfRoutingInfoNextHopRouterID
                 RouterID,
             snOspfRoutingInfoOutgoingInterface
                 INTEGER
         }

     snOspfRoutingInfoIndex  OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The table entry index of this Routing entry."
         ::= { snOspfRoutingInfoEntry 1 }


     snOspfRoutingInfoRouterID  OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router ID of the destination router." 
         ::= { snOspfRoutingInfoEntry 2 }

     snOspfRoutingInfoRouterType OBJECT-TYPE
         SYNTAX   INTEGER {
                     abr  (1),
                     asbr (2),
                                         abrANDasbr(3)
                  }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The Router type of the destination router as the following:
                     abr  (1) -- area border router.
                     asbr (2) -- autonomous sytem border router.
                     abrANDasbr(3) -- area border and autonomous system border router."
         ::= { snOspfRoutingInfoEntry 3 }

     snOspfRoutingInfoNextHopRouterID OBJECT-TYPE
         SYNTAX   RouterID
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The router ID of the next hop destination router."
         ::= { snOspfRoutingInfoEntry 4 }

     snOspfRoutingInfoOutgoingInterface OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The outgoing interface of the destination router."
         ::= { snOspfRoutingInfoEntry 5 }

--  Section 15:         Trap Support Objects

--         The following are support objects for the OSPF traps.


            snOspfSetTrap OBJECT-TYPE
                SYNTAX   OCTET STRING (SIZE(4))
                ACCESS   read-write
                STATUS   mandatory
                DESCRIPTION
                   "A four-octet string serving as a bit  map  for
                   the trap events defined by the OSPF traps. This
                   object is used to enable and  disable  specific
                   OSPF   traps   where  a  1  in  the  bit  field
                   represents enabled.  The right-most bit  (least
                   significant) represents trap 0."
               ::= { snOspfTrapControl 1 }


            snOspfConfigErrorType OBJECT-TYPE
                SYNTAX   INTEGER   {
                            unUsed (0),
                            badVersion (1),
                            areaMismatch (2),
                            unknownNbmaNbr (3), -- Router is Dr eligible
                            unknownVirtualNbr (4),
                            authTypeMismatch(5),
                            authFailure (6),
                            netMaskMismatch (7),
                            helloIntervalMismatch (8),
                            deadIntervalMismatch (9),
                            optionMismatch (10) }
                ACCESS   read-only
                STATUS   mandatory
                DESCRIPTION
                   "Potential types  of  configuration  conflicts.
                   Used  by the ospfConfigError and ospfConfigVir-
                   tError traps."
           ::= { snOspfTrapControl 2 }


            snOspfPacketType OBJECT-TYPE
                SYNTAX   INTEGER   {
                            unUsed (0),
                            hello (1),
                            dbDescript (2),
                            lsReq (3),
                            lsUpdate (4),
                            lsAck (5) }
                ACCESS   read-only
                STATUS   mandatory
                DESCRIPTION

                   "OSPF packet types."
           ::= { snOspfTrapControl 3 }


            snOspfPacketSrc OBJECT-TYPE
                SYNTAX   IpAddress
                ACCESS   read-only
                STATUS   mandatory
                DESCRIPTION
                   "The IP address of an inbound packet that  can-
                   not be identified by a neighbor instance."
               ::= { snOspfTrapControl 4 }

            snOspfTrapsGenerationMode OBJECT-TYPE
            SYNTAX   RtrStatus
                ACCESS   read-write
                STATUS   mandatory
                DESCRIPTION
                   "Indicates if the generation of any OSPF traps is permitted on the router. 
                    The value 'enabled' denotes that the OSPF Traps can be generated by the 
                router; 'disabled' denotes that the OSPF Traps can not be generated by the
                router even when snOspfSetTrap indicates the generation of specific OSPF Traps.
                This object provides global control on the generation of ospf traps."
               ::= { snOspfTrapControl 5 }


     END